B.Baby Bites (签到模拟)
按照题意模拟就行了
1 | int a[maxn]; |
C.Code Cleanups (贪心)
题意
A[i]天会出现一个垃圾,如果不清扫每天都会+1个垃圾.不能超过20个垃圾不清扫,问你最少清扫几次
题解
直接贪心取就完事了
1 | int a[maxn]; |
E.Explosion Exploit (记忆化搜索)
题意
给定N个自己人,M个敌人。以及每个人的血量ai。系统一共发起K次攻击,每次随机选择一个人物进行攻击,被攻击后血量少1,血量为0的不再考虑。问最后敌人都被杀死的概率。 (N,M<=5 ,ai<=6,K<=100)
题解
用位数模拟血量的人数,最多12位,所以数组开不下,只能用map储存,保存每个血量/国营的人数,概率就是,射中这个人的射中这个人的概率*射中这个人能全部杀掉的概率;
1 |
|
H.House Lawn ()
solve by 许老师
1 |
|
I.Intergalactic Bidding (高精度)
题意
给出N个高精度数,表示N个人对应的数字,满足每个人的数字大于等于前面一个人的两倍,以及S。 输出winners,一个人是winner,当且仅当他存在一个集合里,这个集合是和是S。
题解
首先第一眼是背包问题,但是发现这个数字太大没办法开数组背包;于是注意到两倍这个关系
模拟一下二进制,从后往前,一个数字从后往前,寻找她的二进制位的过程你就会知道怎么做了
1 |
|
J.Jumbled String (构造题)
题意
solve by 付队
给你00,01,10,11子序列的数量a,b,c,d。 让你根据信息还原一个字符串
题意
由00和11的数量,我们可以得到字符串中0和1的数量x和y,然后取凑即可, 注意00数量为0时,x可能为0,也可能为1,其它情况下,x唯一; y同理。
假设得到了x,y。 我们可以试着构造一个形如11111…0001000….1111的串,即中间可以夹杂一个1。
1 |
|
K.King’s Colors (容斥)
题意
给你N,K,一棵大小为N的树,求刚好染K种色,而且相邻边颜色不同的方案数。
题解
solve by 付队
1 |
|